package hibernate.entity;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "produto")
public class Produto {
	
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	@Column(name = "id_produto", length = 5,	nullable = false, columnDefinition = "SMALLINT(5)")		
	private Long id;	
	
	@Column(name = "nome_produto", length = 20,	nullable = false, columnDefinition = "VARCHAR(20)")
	private String nomeProduto;
	
	@Column(name = "marca_produto", length = 20,	nullable = false, columnDefinition = "VARCHAR(20)")
	private String marca;
	
	@Column(name = "tipo_servico", length = 20,	nullable = false, columnDefinition = "VARCHAR(20)")
	private String tipoServico;	
	
	@OneToMany(mappedBy = "produto")
	private List<ServicoProduto> servicosProdutos;	
	
	@OneToMany(mappedBy = "produto")
	private List<ProdutoItemCompra> produtosItemCompra;
		
	public Produto(){
	}
	
	public void setId(Long id){
		this.id = id;
	}	
	
	public Long getId() {
		return id;
	}

	public String getNomeProduto() {
		return nomeProduto;
	}
	
	public void setNomeProduto(String nomeProduto) {
		this.nomeProduto = nomeProduto;
	}
	
	public String getMarca() {
		return marca;
	}
	
	public void setMarca(String marca) {
		this.marca = marca;
	}	
	
	public List<ServicoProduto> getServicosProdutos() {
		return servicosProdutos;
	}

	public void setServicosProdutos(List<ServicoProduto> servicosProdutos) {
		this.servicosProdutos = servicosProdutos;
	}

	public List<ProdutoItemCompra> getProdutosItemCompra() {
		return produtosItemCompra;
	}

	public void setProdutosItemCompra(List<ProdutoItemCompra> produtosItemCompra) {
		this.produtosItemCompra = produtosItemCompra;
	}

	public String getTipoServico() {
		return tipoServico;
	}
 	
	public void setTipoServico(String tipoServico) {
		this.tipoServico = tipoServico;
	}
}
